package god;

import god.model.SungJukVO;

public class J13ValueObject {

	public static void main(String[] args) {
		// ValueObject 패턴
		// Sun의 J2EE(엔터프라이즈 에디션 : 기업용) 개발에 적용하는 (디자인)패턴 중 하나
		// 데이터베이스 레코드 에 대응되는 클래스 (데이터베이스의 값을 모두 가져와서 저장해놓고 처리)
		// 네트워크 트래픽을 줄이기 위해 사용 (데이터베이스 접속 횟수를 줄임으로서 가능)
		// 테이블마다 정의해야 하므로 클래스 수가  많아져서 관리하기가 어렵다
		// 하지만, 데이터베이스의 데이터들을 효율적으로 전달할 수 있기 때문에 필수적으로 사용
		
		// 디자인 패턴
		// 프로그램 개발시 빈번하게 발생하는 특정 문제에 대한 해결방법을 정리해서
		// 상황에 따라 간편하게 적용해서 쓸수 있도록 고안된 형식
		// Head First Design Patterns 책 추천
		// JAVA 언어로 배우는 디자인 패턴 입문 (추천)
		// GOF Design Pattern (어려움)
		
		SungJukVO sj = new SungJukVO( "태희",99,98,97 );
		System.out.println( sj.toString() );
		// 값 지정 (변경)
		sj.setName("혜교");
		sj.setKor(78);
		sj.setEng(84);
		sj.setMat(92);
		
		System.out.println( sj.toString() );
		System.out.println( sj.getTot() );
		System.out.println( sj.getAvg() );
		System.out.println( sj.getGrd() );
	}

}
